我們之前提到,動態網站是有資訊交換的,就像一般網站中登入會員後,通常會有會員資料的頁面,這需要從前端帶資訊網後端送,有幾種常用的方式,我們會跟大家介紹GET與POST兩種方式。
GET我們已經不知不覺中一直用了,有發現嗎?index.js中的route.get就是在後端設定收到GET的Request的時候該怎麼Response的函式,也就是說...
所以我們之前輸入網址,其實就是對指定位置(網址)發送一個GET指令。
GET也可以帶著不同的參數做Request
我們在index.js中新增這一段:
/* 增加新的router,用GET帶參數 */
router.get('/getparams', function(req, res, next) {
var idFromBrowser = req.query.id;
if (idFromBrowser == "123"){
console.log(idFromBrowser);
res.send('這是id=123時的頁面'+idFromBrowser);
}else{
console.log(idFromBrowser);
res.send('這是其他的頁面'+idFromBrowser);
}
});
大多數用法我們都懂了,新增的部分有幾個跟大家說明:
第二行的var idFromBrowser = req.query.id;
是指定一個變數idFromBrowser的值是req.query.id
req.query.id意思是,當有一個GET要求帶著參數名稱'id'(可自訂)要求時,收到要求後解析出id所帶的值。
接下來if...else部分,就是在後端用這個前端id所帶的值判斷,要給予什麼樣的回應給前端。
當id=123(字串)時,res.send()一段內容回去,res.send是另一個res的用法,會將括號內的內容帶入新的頁面中response給發送要求的前端使用者。
當id!=123時,也會res一段內容回去。
console.log是js常用的用法,目標是在伺服器監控台(terminal/cmd)看到現在這個console.log()括號的內容,我們在這邊用法是為了確定,有收到參數。
這樣就完成後端部分了,明天我們繼續討論前端怎麼帶參數request。